[POWERPC][XEN] Erratum: Must clear larx/stcx reservation on exception
authorJimi Xenidis <jimix@watson.ibm.com>
Fri, 1 Sep 2006 15:42:51 +0000 (11:42 -0400)
committerJimi Xenidis <jimix@watson.ibm.com>
Fri, 1 Sep 2006 15:42:51 +0000 (11:42 -0400)
PowerPC 970 Erratum that an "OS should execute a stcx in
the interrupt handler to clear the reservation."

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
xen/arch/powerpc/powerpc64/exceptions.S

index acda124b75ed6c9baf6593cb9c0a58b7f4a5f04f..4c54be776055f0c8ae1fc595559d5ca4fd7b9136 100644 (file)
@@ -115,6 +115,9 @@ LOAD_GPRS "(\from+1)", \to, \uregs
     mfspr r0, SPRN_HSPRG1
     std r0, UREGS_r13(r1)           /* save R13 from HSPRG1 */
 
+    /* Blow away any reservation according to 970 errata after saving CR */
+    stdcx. r1, 0, r1
+
     /* done with processor_area; re-enable MSR:RI */ 
     mfmsr r0
     ori r0, r0, MSR_RI@l